// 基于JQ的返回顶部插件
// 创建一个闭包     
(function($) {     
  //插件主要内容
  var defaults={
	  scrollId:'lin_scrollObjId',//滚动对象ID
	  topBtnId:'lin_scrollTopBtn',//按钮id
	  tpl:'<a href="javascript:void(0);" id="lin_scrollTopBtn">返回顶部</a>',//滚动对象中的内容
	  toPageRight:20,//按钮距离页面边缘距离
	  pageWidth:980,//页面内容宽度
	  toBottom:50,//按钮距离底部距离
	  hideHeight:400,//隐藏区域高度
	  timeThread:null//用于IE的setTimeout进程
  };
  $.extend({
 	 lin_scrollTool: function(options) {
	 	var opts = $.extend({},defaults, options); 
		_insertScrollObj();		
		$(window).scroll(function(){
			_scrollScreenHandle();
		});
		$(window).resize(function() {
			_resizeWindow();
		});		
		
		//插入按钮函数
		function _insertScrollObj()
		{
			if($('#'+opts.scrollId).length==0)
			{
				var $scrollObj=$("<div id='"+opts.scrollId+"'>"+opts.tpl+"</div>");
				$('body').append($scrollObj);
			}else{var $scrollObj=$('#'+opts.scrollId);}
			var $topBtn=$('#'+opts.topBtnId);
			$topBtn.css('display','none').click(function(){$('html,body').animate({scrollTop:0},800);});
			var rightPx=_getPosition($scrollObj);
			if(/MSIE 6/i.test(navigator.userAgent))
			{
				$scrollObj.css({
					'display':'none',
					'position':'absolute',
					'right':rightPx
				});
			}else
				{
					$scrollObj.css({
						'position':'fixed',
						'right':rightPx,
						'top':$(window).height()-opts.toBottom
					});
			}
		}
		
		//获取定位距离
		function _getPosition(scrollObj)
		{
			var _self=scrollObj,
			rightPx=parseInt(($(window).width()-opts.pageWidth)/2-_self.outerWidth()-opts.toPageRight,10);
			if(rightPx<opts.toPageRight)
			{
				rightPx=opts.toPageRight;
			}
			return rightPx;
		}
		
		//滚屏幕事件函数
		function _scrollScreenHandle()
		{
			var _self=$('#'+opts.scrollId);
			if($(document).scrollTop()<= opts.hideHeight)
			{	
				clearTimeout(opts.timeThread);
				$('#'+opts.topBtnId).hide();
				return;
			}else{$('#'+opts.topBtnId).show();}
			if(/MSIE 6/i.test(navigator.userAgent))
			{
				clearTimeout(opts.timeThread);
				_self.hide();
				opts.timeThread=setTimeout(function(){
					var topPx=$(document).scrollTop() + $(window).height()-opts.toBottom;
					_self.css({'top':topPx}).fadeIn();
				},400);			
			}else{_self.fadeIn();}		
		}
		
		function _resizeWindow()
		{
			var _self=$('#'+opts.scrollId),
			rightPx=_getPosition(_self);
			var topPx = $(window).height() - opts.toBottom;
			if(/MSIE 6/i.test(navigator.userAgent)) {
				topPx += $(document).scrollTop();
			}	
			_self.css({
				'right': rightPx,
				'top': topPx
			});			
		}
		
	 }
  });      
// 闭包结束     
})(jQuery); 